home *** CD-ROM | disk | FTP | other *** search
/ Atari Mega Archive 1 / Atari Mega Archive - Volume 1.iso / program / progem.lzh / gemcl4.c < prev    next >
Text File  |  1986-07-16  |  10KB  |  370 lines

  1. >>>>>>>>>>>>>>>>>>>>>>>>>> Sample C output file from RCS <<<<<<<<<<<<<<<<<<<<
  2.  
  3.                     /* (Comments added)    */
  4. BYTE *rs_strings[] = {            /* ASCII data        */
  5. "Title String",    
  6. "Exit",
  7. "Centered Text",
  8. "",
  9. "",
  10. "Butt⑨",
  11. "Tokyo",
  12. "",
  13. "Time: __:__:__",
  14. "999999",
  15. "",
  16. "Time: __:__:__  ",
  17. "999999",
  18. "New York"};
  19.  
  20. WORD IMAG0[] = {                /* Bitmap for G_IMAGE */
  21. 0x7FF, 0xFFFF, 0xFF80, 0xC00, 
  22. 0x0, 0xC0, 0x183F, 0xF03F, 
  23. 0xF060, 0x187F, 0xF860, 0x1860, 
  24. 0x187F, 0xF860, 0x1860, 0x187F, 
  25. 0xF860, 0x1860, 0x187F, 0xF860, 
  26. 0x1860, 0x187F, 0xF860, 0x1860, 
  27. 0x187F, 0xF860, 0x1860, 0x187F, 
  28. 0xF860, 0x1860, 0x187F, 0xF860, 
  29. 0x1860, 0x187F, 0xF860, 0x1860, 
  30. 0x187F, 0xF860, 0x1860, 0x187F, 
  31. 0xF860, 0x1860, 0x183F, 0xF03F, 
  32. 0xF060, 0xC00, 0x0, 0xC0, 
  33. 0x7FF, 0xFFFF, 0xFF80, 0x0, 
  34. 0x0, 0x0, 0x3F30, 0xC787, 
  35. 0x8FE0, 0xC39, 0xCCCC, 0xCC00, 
  36. 0xC36, 0xCFCC, 0xF80, 0xC30, 
  37. 0xCCCD, 0xCC00, 0x3F30, 0xCCC7, 
  38. 0xCFE0, 0x0, 0x0, 0x0};
  39.  
  40. WORD IMAG1[] = {                /* Mask for first icon */
  41. 0x0, 0x0, 0x0, 0x0, 
  42. 0x7FFE, 0x0, 0x1F, 0xFFFF, 
  43. 0xFC00, 0xFF, 0xFFFF, 0xFF00, 
  44. 0x3FF, 0xFFFF, 0xFFC0, 0xFFF, 
  45. 0xFFFF, 0xFFF0, 0x3FFF, 0xFFFF, 
  46. 0xFFFC, 0x7FFF, 0xFFFF, 0xFFFE, 
  47. 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 
  48. 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 
  49. 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 
  50. 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 
  51. 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 
  52. 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 
  53. 0xFFFF, 0xFFFF, 0xFFFF, 0x7FFF, 
  54. 0xFFFF, 0xFFFE, 0x3FFF, 0xFFFF, 
  55. 0xFFFC, 0xFFF, 0xFFFF, 0xFFF0, 
  56. 0x3FF, 0xFFFF, 0xFFC0, 0xFF, 
  57. 0xFFFF, 0xFF00, 0x1F, 0xFFFF, 
  58. 0xF800, 0x0, 0x7FFE, 0x0};
  59.  
  60. WORD IMAG2[] = {                /* Data for first icon */
  61. 0x0, 0x0, 0x0, 0x0, 
  62. 0x3FFC, 0x0, 0xF, 0xC003, 
  63. 0xF000, 0x78, 0x180, 0x1E00, 
  64. 0x180, 0x180, 0x180, 0x603, 
  65. 0x180, 0xC060, 0x1C00, 0x6, 
  66. 0x38, 0x3000, 0x18C, 0xC, 
  67. 0x60C0, 0x198, 0x306, 0x6000, 
  68. 0x1B0, 0x6, 0x4000, 0x1E0, 
  69. 0x2, 0xC000, 0x1C0, 0x3, 
  70. 0xCFC0, 0x180, 0x3F3, 0xC000, 
  71. 0x0, 0x3, 0x4000, 0x0, 
  72. 0x2, 0x6000, 0x0, 0x6, 
  73. 0x60C0, 0x0, 0x306, 0x3000, 
  74. 0x0, 0xC, 0x1C00, 0x0, 
  75. 0x38, 0x603, 0x180, 0xC060, 
  76. 0x180, 0x180, 0x180, 0x78, 
  77. 0x180, 0x1E00, 0xF, 0xC003, 
  78. 0xF000, 0x0, 0x3FFC, 0x0};
  79.  
  80. WORD IMAG3[] = {            /* Mask for second icon */
  81. 0x0, 0x0, 0x0, 0x0, 
  82. 0x7FFE, 0x0, 0x1F, 0xFFFF, 
  83. 0xFC00, 0xFF, 0xFFFF, 0xFF00, 
  84. 0x3FF, 0xFFFF, 0xFFC0, 0xFFF, 
  85. 0xFFFF, 0xFFF0, 0x3FFF, 0xFFFF, 
  86. 0xFFFC, 0x7FFF, 0xFFFF, 0xFFFE, 
  87. 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 
  88. 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 
  89. 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 
  90. 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 
  91. 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 
  92. 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 
  93. 0xFFFF, 0xFFFF, 0xFFFF, 0x7FFF, 
  94. 0xFFFF, 0xFFFE, 0x3FFF, 0xFFFF, 
  95. 0xFFFC, 0xFFF, 0xFFFF, 0xFFF0, 
  96. 0x3FF, 0xFFFF, 0xFFC0, 0xFF, 
  97. 0xFFFF, 0xFF00, 0x1F, 0xFFFF, 
  98. 0xF800, 0x0, 0x7FFE, 0x0};
  99.  
  100. WORD IMAG4[] = {            /* Data for second icon */
  101. 0x0, 0x0, 0x0, 0x0, 
  102. 0x3FFC, 0x0, 0xF, 0xC003, 
  103. 0xF000, 0x78, 0x180, 0x1E00, 
  104. 0x180, 0x180, 0x180, 0x603, 
  105. 0x180, 0xC060, 0x1C00, 0x6, 
  106. 0x38, 0x3000, 0x18C, 0xC, 
  107. 0x60C0, 0x198, 0x306, 0x6000, 
  108. 0x1B0, 0x6, 0x4000, 0x1E0, 
  109. 0x2, 0xC000, 0x1C0, 0x3, 
  110. 0xCFC0, 0x180, 0x3F3, 0xC000, 
  111. 0x0, 0x3, 0x4000, 0x0, 
  112. 0x2, 0x6000, 0x0, 0x6, 
  113. 0x60C0, 0x0, 0x306, 0x3000, 
  114. 0x0, 0xC, 0x1C00, 0x0, 
  115. 0x38, 0x603, 0x180, 0xC060, 
  116. 0x180, 0x180, 0x180, 0x78, 
  117. 0x180, 0x1E00, 0xF, 0xC003, 
  118. 0xF000, 0x0, 0x3FFC, 0x0};
  119.  
  120. LONG rs_frstr[] = {            /* Free string index - unused */
  121. 0};
  122.  
  123. BITBLK rs_bitblk[] = {            /* First entry is index to image data */
  124. 0L, 6, 24, 0, 0, 0};
  125.  
  126. LONG rs_frimg[] = {            /* Free image index - unused */
  127. 0};
  128.  
  129. ICONBLK rs_iconblk[] = {        
  130. 1L, 2L, 10L, 4096,0,0, 0,0,48,24, 9,24,30,8,    /* First pointer is mask */
  131. 3L, 4L, 17L, 4864,0,0, 0,0,48,24, 0,24,48,8};    /* Second is data, third */
  132.                         /* is to title string     */
  133. TEDINFO rs_tedinfo[] = {
  134. 2L, 3L, 4L, 3, 6, 2, 0x1180, 0x0, -1, 14,1,    /* First pointer is text */
  135. 7L, 8L, 9L, 3, 6, 2, 0x2072, 0x0, -3, 11,1,    /* Second is template     */
  136. 11L, 12L, 13L, 3, 6, 0, 0x1180, 0x0, -1, 1,15,    /* Third is validation     */
  137. 14L, 15L, 16L, 3, 6, 1, 0x1173, 0x0, 0, 1,17};
  138.  
  139. OBJECT rs_object[] = {
  140. -1, 1, 3, G_BOX, NONE, OUTLINED, 0x21100L, 0,0, 18,12,    /* Pointers are to: */
  141. 2, -1, -1, G_STRING, NONE, NORMAL, 0x0L, 3,1, 12,1,    /* rs_strings    */
  142. 3, -1, -1, G_BUTTON, 0x7, NORMAL, 0x1L, 5,9, 8,1,    /* rs_strings    */
  143. 0, 4, 4, G_BOX, NONE, NORMAL, 0xFF1172L, 3,3, 12,5,
  144. 3, -1, -1, G_IMAGE, LASTOB, NORMAL, 0x0L, 3,1, 6,3,    /* rs_bitblk    */
  145. -1, 1, 6, G_BOX, NONE, OUTLINED, 0x21100L, 0,0, 23,12,    
  146. 2, -1, -1, G_TEXT, NONE, NORMAL, 0x0L, 0,1, 23,1,    /* rs_tedinfo    */
  147. 6, 3, 5, G_IBOX, NONE, NORMAL, 0x1100L, 6,3, 11,5,
  148. 4, -1, -1, G_BUTTON, 0x11, NORMAL, 0x5L, 0,0, 11,1,    /* rs_strings    */
  149. 5, -1, -1, G_BUTTON, 0x11, NORMAL, 0x6L, 0,2, 11,1,    /* rs_strings    */
  150. 2, -1, -1, G_BOXCHAR, 0x11, NORMAL, 0x43FF1400L, 0,4, 11,1,
  151. 0, -1, -1, G_BOXTEXT, 0x27, NORMAL, 0x1L, 5,9, 13,1,    /* rs_tedinfo    */
  152. -1, 1, 3, G_BOX, NONE, OUTLINED, 0x21100L, 0,0, 32,11,
  153. 2, -1, -1, G_ICON, NONE, NORMAL, 0x0L, 4,1, 6,4,    /* rs_iconblk    */
  154. 3, -1, -1, G_FTEXT, EDITABLE, NORMAL, 0x2L, 12,2, 14,1,    /* rs_tedinfo    */
  155. 0, 4, 4, G_FBOXTEXT, 0xE, NORMAL, 0x3L, 3,5, 25,4,    /* rs_tedinfo    */
  156. 3, -1, -1, G_ICON, LASTOB, NORMAL, 0x1L, 1,0, 6,4};    /* rs_iconblk    */
  157.  
  158. LONG rs_trindex[] = {            /* Points to start of trees in */
  159. 0L,                    /* rs_object               */
  160. 5L,
  161. 12L};
  162.  
  163. struct foobar {                /* Temporary structure used by    */
  164.     WORD    dummy;            /* RSCREATE when setting up image */
  165.     WORD    *image;            /* pointers.              */
  166.     } rs_imdope[] = {
  167. 0, &IMAG0[0],
  168. 0, &IMAG1[0],
  169. 0, &IMAG2[0],
  170. 0, &IMAG3[0],
  171. 0, &IMAG4[0]};
  172.                     /* Counts of structures defined */
  173. #define NUM_STRINGS 18
  174. #define NUM_FRSTR 0
  175. #define NUM_IMAGES 5
  176. #define NUM_BB 1
  177. #define NUM_FRIMG 0
  178. #define NUM_IB 2
  179. #define NUM_TI 4
  180. #define NUM_OBS 17
  181. #define NUM_TREE 3
  182.  
  183. BYTE pname[] = "DEMO.RSC";
  184.  
  185. >>>>>>>>>>>>>>>>>>>>>>>>>>>>> Title change utility <<<<<<<<<<<<<<<<<<<<<
  186.  
  187.     VOID
  188. set_text(tree, obj, str)
  189.     LONG    tree, str;
  190.     WORD    obj;
  191.     {
  192.     LONG    obspec;
  193.  
  194.     obspec = LLGET(OB_SPEC(obj));        /* Get TEDINFO address  */
  195.     LLSET(TE_PTEXT(obspec), str);        /* Set new text pointer */
  196.     LWSET(TE_TXTLEN(obspec), LSTRLEN(str)); /* Set new length    */
  197.     }
  198.  
  199. >>>>>>>>>>>>>>>>>>>>>> Text edit code segment <<<<<<<<<<<<<<<<<<<<<<<<<<
  200.  
  201.     LONG    tree, obspec;
  202.     BYTE    text[41];
  203.  
  204.     rsrc_gaddr(R_TREE, DIALOG, &tree);    /* Get tree address  */
  205.     obspec = LLGET(OB_SPEC(EDITOBJ));    /* Get TEDINFO address  */
  206.     LLSET(TE_PTEXT(obspec), ADDR(str));    /* Set new text pointer */
  207.     LWSET(TE_TXTLEN(obspec), 41);         /* Set max length    */
  208.     text[0] = '\0';                /* Make empty string */
  209.  
  210. >>>>>>>>>>>>>>>>>>>> Sample 68K only source code <<<<<<<<<<<<<<<<<<<<<<
  211.  
  212.     VOID
  213. set_text(tree, obj, str)
  214.     OBJECT    *tree;
  215.     WORD    obj;
  216.     BYTE    *str;
  217.     {
  218.     TEDINFO    *obspec;
  219.  
  220.     obspec = (TEDINFO *) (tree + obj)->ob_spec;
  221.                         /* Get TEDINFO address  */
  222.     obspec->te_ptext = str;            /* Set new text pointer */
  223.     obspec->te_txtlen = strlen(str);    /* Set new length    */
  224.     }
  225.  
  226. >>>>>>>>>>>>>>>>>>>>>>>>>>>> Symbol definitions <<<<<<<<<<<<<<<<<<<<<<<<<
  227.  
  228.                         /* Window parts */
  229. #define NAME 0x0001
  230. #define CLOSER 0x0002
  231. #define FULLER 0x0004
  232. #define MOVER 0x0008
  233. #define INFO 0x0010
  234. #define SIZER 0x0020
  235. #define UPARROW 0x0040
  236. #define DNARROW 0x0080
  237. #define VSLIDE 0x0100
  238. #define LFARROW 0x0200
  239. #define RTARROW 0x0400
  240. #define HSLIDE 0x0800
  241.  
  242. #define WF_KIND 1                /* wind_get/set parameters */
  243. #define WF_NAME 2
  244. #define WF_INFO 3
  245. #define WF_WXYWH 4
  246. #define WF_CXYWH 5
  247. #define WF_PXYWH 6
  248. #define WF_FXYWH 7
  249. #define WF_HSLIDE 8
  250. #define WF_VSLIDE 9
  251. #define WF_TOP 10
  252. #define WF_FIRSTXYWH 11
  253. #define WF_NEXTXYWH 12
  254. #define WF_NEWDESK 14
  255. #define WF_HSLSIZ 15
  256. #define WF_VSLSIZ 16
  257.                         /* window messages    */
  258. #define WM_REDRAW 20
  259. #define WM_TOPPED 21
  260. #define WM_CLOSED 22
  261. #define WM_FULLED 23
  262. #define WM_ARROWED 24
  263. #define WM_HSLID 25
  264. #define WM_VSLID 26
  265. #define WM_SIZED 27
  266. #define WM_MOVED 28
  267. #define WM_NEWTOP 29
  268.                         /* arrow messages    */
  269. #define WA_UPPAGE 0
  270. #define WA_DNPAGE 1
  271. #define WA_UPLINE 2
  272. #define WA_DNLINE 3
  273. #define WA_LFPAGE 4
  274. #define WA_RTPAGE 5
  275. #define WA_LFLINE 6
  276. #define WA_RTLINE 7
  277.  
  278. #define R_TREE 0                /* Redraw definitions     */
  279. #define ROOT 0
  280. #define MAX_DEPTH 8
  281.                         /* update flags        */
  282. #define    END_UPDATE 0
  283. #define    BEG_UPDATE 1
  284. #define    END_MCTRL  2
  285. #define    BEG_MCTRL  3
  286.                         /* Mouse state changes   */
  287. #define M_OFF 256
  288. #define M_ON 257
  289.                         /* Object flags         */
  290. #define NONE       0x0
  291. #define SELECTABLE 0x1
  292. #define DEFAULT    0x2
  293. #define EXIT       0x4
  294. #